This invention relates to a method for migrating a process instance executing as per an original process definition in a workflow management system, to continue to execute as per a changed process definition.
Workflow is usually applied in high-volume applications with well-defined business rules. Examples are the treatment of insurance claims or tax-forms filed by public. Workflow is also applicable in organizations wherein primary task of work flow is a consistent application of a process across a wide customer base. Workflow is also applied to execute highly structured internal processes like travel approvals, check requests and marketing material developments.
In a workflow world, there are process definitions and actual instances of these definitions called process instances or simply processes. These instances may be ‘enacted’ by a Process Engine (PE) which is part of any workflow management system (WFMS). A process definition may include a number of steps called work nodes, some decision making nodes (or route nodes) and loops called reset arcs. Activities may be initiated in work nodes and executed by participants which are also known as Business Objects (BOs). These BOs can be human and/or IT resources.
However, the method for executing a process instance according to the current state of the art essentially remains static. A Process definition describing the business process has to be highly accurate and perfect from the beginning.
In the following scenarios, disadvantages and problems of the state of the art are described.
It is often not possible or not desirable to describe a business process so formalised and detailed enough so as to obtain a process definition from which process instances can be instantiated. Reasons for this may be lack of detailed knowledge about the process or the business problem or even unavailability of the required resources to perform a proper analysis and design of a process. Other difficulties may simply be due to time or economical constraints.
Furthermore, considering and implementing all potential exceptions within a business process might not be technically feasible. Also, this may lead to a very complex process definition. This may also prevents the creation of a precise enough process definition to be used by the workflow manager.
Many organisations do also not take enough time to document their processes and therefore have no ability to translate a process into automation. Others are in volatile business situation, in which no process can be followed. Problems also arise for organisations that have some process orientation but do not apply this process orientation consistently.
Moreover, with the current state of art, if flaws are detected in a business process definition while running its instances, it is complicated or even not possible to realise changes in the execution path of the instances when the original definition is changed.